The present disclosure generally relates to localization of a user's position and orientation in virtual reality (VR), augmented reality (AR) and mixed reality (MR) systems, and specifically relates to a position tracking system that exploits arbitrary configurations for loop closure determination.
An important part of achieving compelling user experiences in VR, AR and MR systems relies on localizing a user's position and orientation in an arbitrary environment. Typically, the localization of user's position and orientation in an arbitrary environment can be based on a class of computer vision algorithms known as a simultaneous localization and mapping (SLAM) process. The SLAM process typically utilizes a certain combination of cameras, depth sensors, and/or internal measurement units (IMUs) to estimate, for example, a six degree-of-freedom (6DOF) pose, which facilitates maneuvering through a space and mapping of a surrounding environment.
The estimates of a user's position and/or orientation in an arbitrary environment obtained based on the SLAM process drift over time causing inconsistencies when a user enters a space that has been explored previously because a present environment disagrees with a previous view from the same orientation. A common approach to handle this problem is the “loop closure,” which is based on continuously monitoring whether a user has observed a present position and orientation at some previous time instant. The loop closure typically includes maintaining a list of prior orientations and comparing a user's present view with a complete set or a subset of views that were previously explored. The comparison of present views with a history of all prior views or a subset of prior views is a computationally challenging task, which becomes more difficult as a user explores a wider volume of spaces.